package com.docmgmt.mvp.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * AI问答请求
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AiChatRequest {

    /**
     * 用户问题
     */
    private String query;

    /**
     * 对话ID（可选，用于续接已有会话）
     * - 不传：创建新会话
     * - 传递：续接指定会话（支持多轮对话）
     */
    private Long dialogId;

    /**
     * 查询范围
     */
    private ScopeInfo scope;

    /**
     * LLM温度参数（0-1，默认0.7）
     */
    private Float temperature;

    /**
     * 检索Top K（默认5）
     */
    private Integer topK;

    /**
     * 查询范围信息
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ScopeInfo {
        /**
         * 范围类型：global/folder/file
         */
        private String type;

        /**
         * 文件夹ID或文件ID（type=folder/file时必填）
         */
        private Long id;
    }
}
